/*
 * Created on October 05, 2012, 4:57 PM
 */
package sembr.entities;

import java.util.Map;

/**
 *
 * @author adriano
 */
public class SimulationSetup extends EntityBase
{
    private ComputacionalDomain domain;
    private Source source;
    private Field field;
    private double[] objectBounds;
    private int dimension;
    private Map<String, Double> dieletrics;
       
    /**
     * @return the domain
     */
    public ComputacionalDomain getDomain() 
    {
        return domain;
    }

    /**
     * @param domain the domain to set
     */
    public void setDomain(ComputacionalDomain domain) 
    {
        this.domain = domain;
    }

    /**
     * @return the source
     */
    public Source getSource() 
    {
        return source;
    }

    /**
     * @param source the source to set
     */
    public void setSource(Source source)
    {
        this.source = source;
    }

    /**
     * @return the field
     */
    public Field getField() 
    {
        return field;
    }

    /**
     * @param field the field to set
     */
    public void setField(Field field) 
    {
        this.field = field;
    }
    
    /**
     * @return the objectBounds
     */
    public double[] getObjectBounds() 
    {
        return objectBounds;
    }

    /**
     * @param objectBounds the objectBounds to set
     */
    public void setObjectBounds(double[] objectBounds) 
    {
        this.objectBounds = objectBounds;
    }

    /**
     * @return the dimension
     */
    public int getDimension() 
    {
        return dimension;
    }

    /**
     * @param dimension the dimension to set
     * dimension can have 1, 2 or 3 as value
     * representing one, two and three dimensional respectively
     */
    public void setDimension(int dimension) 
    {
        if (dimension < 1 || dimension > 3)
            this.dimension = 2; // default
        else
            this.dimension = dimension;
    }

    /**
     * @return the dieletrics
     */
    public Map<String, Double> getDieletrics() 
    {
        return dieletrics;
    }

    /**
     * @param dieletrics the dieletrics to set
     * 
     * Although dieletrics values is set on vtkPolyData,
     * it was put in Setup to get and retrive values in GUI
     * Thus, it won't be used in MEEP for material computing
     */
    public void setDieletrics(Map<String, Double> dieletrics) 
    {
        this.dieletrics = dieletrics;
    }
}
